#	$OpenBSD: SUN4,v 1.42 2011/11/08 12:53:58 deraadt Exp $
#	$NetBSD: GENERIC,v 1.28.2.1 1996/07/02 23:55:22 jtc Exp $

# Machine architecture; required by config(8)
machine		sparc

include "../../../conf/GENERIC"

option		SUN4		# sun4/100, sun4/200, sun4/300

#option		MMU_3L		# 3-level MMU on sun4/400

# Options for SPARCstation hardware
option		WSEMUL_SUN	# provide sun terminal emulation; required
option		WSEMUL_NO_VT100	# do not provide vt100 terminal emulation
option		WSDISPLAY_COMPAT_RAWKBD # provide raw scancodes; needed for X11

maxusers	16		# estimated number of users

# Generic swap; second partition of root disk or network.
config		bsd	swap generic

# Main bus and CPU .. all systems.
mainbus0 at root
cpu0	at mainbus0

# Bus types found on SPARC systems.
obio0	at mainbus0				# sun4 and sun4m
vmes0	at mainbus0				# sun4
vmel0	at mainbus0				# sun4

# Mostek clock found on 4/300, sun4c, and sun4m systems.
# The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
clock0	at obio0 addr 0xf2000000		# sun4/300

# Intersil clock found on 4/100 and 4/200 systems.
oclock0	at obio0 addr 0xf3000000		# sun4/100 and sun4/200

# Memory error registers.
memreg0	at obio0 addr 0xf4000000		# sun4

# Timer chip found on 4/300, sun4c, and sun4m systems.
timer0	at obio0 addr 0xef000000		# sun4/300

# EEPROM found on 4/100 and 4/200 systems.  Note that the 4/300
# doesn't use this driver; the `EEPROM' is in the NVRAM on the
# Mostek clock chip on 4/300 systems.
eeprom0	at obio0 addr 0xf2000000		# sun4/100 and sun4/200

# 8 segment led display on sun4 systems
led0 at mainbus0				# sun4

# Zilog 8530 serial chips.  Each has two-channels.
# zs0 is ttya and ttyb.  zs1 is the keyboard and mouse.
zs0	at obio0 addr 0xf1000000 level 12		# sun4
zs1	at obio0 addr 0xf0000000 level 12		# sun4
zs2	at obio0 addr 0xe0000000 level 12		# sun4/300

zstty* at zs?
zskbd* at zs?
wskbd* at zskbd?
zsms*  at zs?
wsmouse* at zsms?

#
# Note the flags on the esp entries below, that work around
# deficiencies in the current driver:
#	bits 0-7:  disable disconnect/reselect for the corresponding target
#	bits 8-15: disable synch negotiation for target [bit-8]
#	Note: targets 4-7 have disconnect/reselect enabled on the premise
#	      that tape devices normally have one of these targets. Tape
#	      devices should be allowed to disconnect for the SCSI bus
#	      to operate acceptably.
#

# sun4/300 SCSI - an NCR53c94 or equivalent behind
# an LSI Logic DMA controller
dma0	at obio0 addr 0xfa001000 level 4		# sun4/300
esp0	at obio0 addr 0xfa000000 level 4 flags 0x00ff000f

# sun4/300 and sun4c Ethernet - an AMD 7990 LANCE
le0	at obio0 addr 0xf9000000 level 6		# sun4/300

# sun4/100 and sun4/200 Ethernet - an Intel 82586 on-board
# or on a Multibus/VME card.
ie0	at obio0 addr 0xf6000000 level 6		# sun4/100 and sun4/200

ie1	at vmes0 addr 0xffe88000 level 5 vect 0x75
ie2	at vmes0 addr 0xff31ff02 level 5 vect 0x76
ie3	at vmes0 addr 0xff35ff02 level 5 vect 0x77
ie4	at vmes0 addr 0xff2dff02 level 5 vect 0x7c

# Xylogics 753 or 7053 VME SMD disk controllers and disks, found
# on sun4 systems.
xdc0	at vmel0 addr 0xffffee80 level 3 vect 0x44
xdc1	at vmel0 addr 0xffffee90 level 3 vect 0x45
xdc2	at vmel0 addr 0xffffeea0 level 3 vect 0x46
xdc3	at vmel0 addr 0xffffeeb0 level 3 vect 0x47
xd*	at xdc?

# Xylogics 451 or 451 VME SMD disk controllers and disks, found
# on sun4 systems.
xyc0	at vmes0 addr 0xffffee40 level 3 vect 0x48
xyc1	at vmes0 addr 0xffffee48 level 3 vect 0x49
xy*	at xyc?

# NCR5380-based "Sun SCSI 3" VME SCSI controller.
# This driver has several flags which may be enabled by OR'ing
# the values and using the "flags" directive.
# Valid flags are:
#
#	0x01		Use DMA (may be polled)
#	0x02		Use DMA completion interrupts
#	0x04		Allow disconnect/reselect
#
# E.g. the following would enable DMA, interrupts, and reselect:
# si0	at vmes0 addr 0xff200000 level 3 vect 0x40 flags 0x07
#
si0	at vmes0 addr 0xff200000 level 3 vect 0x40 flags 0x01

# NCR5380-based "SCSI Weird" on-board SCSI interface found
# on sun4/100 systems.  The flags are the same as the "si"
# controller.  Note, while DMA is enabled by default, only
# polled DMA works at this time, and reselects do not work
# on this particular controller.
sw0	at obio0 addr 0xfa000000 level 3 flags 0x01

# Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
# systems.
bwtwo0	at obio0 addr 0xfd000000 level 4	# sun4/200
bwtwo0	at obio0 addr 0xfb300000 level 4	# sun4/100 and sun4/300 P4
wsdisplay* at bwtwo?

# Sun "cgtwo" VME color framebuffer.
cgtwo0	at vmes0 addr 0xff400000 level 4 vect 0xa8
wsdisplay* at cgtwo?

# Sun "cgfour" color framebuffer.
cgfour0	at obio0 addr 0xfb300000 level 4	# sun4/100 and sun4/300 P4
wsdisplay* at cgfour?

# Sun "cgsix" accelerated color framebuffer.
cgsix0	at obio0 addr 0xfb000000 level 4	# sun4/100 and sun4/300 P4
wsdisplay* at cgsix?

# Sun "cgeight" 24-bit framebuffer.
cgeight0 at obio0 addr 0xfb300000 level 4	# sun4/100 and sun4/300 P4
wsdisplay* at cgeight?

# SCSI bus layer.  SCSI devices attach to the SCSI bus, which attaches
# to the underlying hardware controller.

# These entries find devices on all SCSI busses and assign
# unit numers dynamically.
scsibus* at scsi?
sd*	at scsibus?		# SCSI disks
st*	at scsibus?		# SCSI tapes
cd*	at scsibus?		# SCSI CD-ROMs
ch*	at scsibus?		# SCSI changer devices
uk*	at scsibus?		# unknown SCSI devices

pseudo-device	wsmux	2	# mouse & keyboard multiplexor
